In recent years, low-density parity-check (LDPC) and turbo codes have been adopted as forward error correction codes in communication systems. For example, LDPC codes are used in the digital video broadcasting satellite version 2 (DVB-S2) standard for next-generation satellite communication systems, and turbo codes are used in wideband code-division multiple-access (WCDMA) systems.
The decoding algorithms for LDPC and turbo codes are iterative algorithms, wherein the decoder repeats a set of operations multiple times to decode the received codeword. For simplicity, a fixed number of iterations can be used in which case the amount of energy to decode one codeword is fixed. However, under normal operating conditions, a small fraction of the maximum number of iterations is actually required to achieve the same decoding performance.
Accordingly, it would be desirable and highly advantageous to have a method and apparatus for terminating the iterations before the maximum number of iterations is reached to reduce system power consumption while maintaining proper performance.